import paho.mqtt.client as mqtt  

# 定义回调函数，当连接成功时被调用  
def on_connect(client, userdata, flags, rc):  
    print(f"Connected with result code {rc}")  
    # 订阅主题  
    client.subscribe("test/topic")  

# 定义回调函数，当收到消息时被调用  
def on_message(client, userdata, msg):  
    print(f"Message received: {msg.topic} {msg.payload.decode()}")  

# 创建 MQTT 客户端  
client = mqtt.Client()  

# 输入你的 MQTT 代理的用户名和密码  
username = "sumz"  
password = "123456"  

# 设置用户名和密码  
client.username_pw_set(username, password)  

# 绑定回调函数  
client.on_connect = on_connect  
client.on_message = on_message  

# 连接到 MQTT 代理  
broker_address = "192.168.0.1"  # 替换为你自己的 MQTT 代理地址  
client.connect(broker_address, 1883, 60)  

# 在一个新线程中处理网络流量  
client.loop_start()  

# 发布一些测试消息  
# client.publish("test/topic", "Hello, MQTT with Auth!")  

# 等待一段时间以接收消息  
import time  
time.sleep(10)  # 等待 10 秒  

# 停止循环并断开连接  
client.loop_stop()  
client.disconnect()